Python 函数
在 Python 中,函数使用 def 关键字声明。
基本声明与调用
def say_hello():
"""最简单的函数"""
print("Hello, World!")
def greet(name, greeting="Hello"):
"""name 是位置参数,greeting 是默认参数"""
print(f"{greeting}, {name}!")
say_hello() # Hello, World!
greet("Alice") # Hello, Alice!
greet("Bob", "Hi") # Hi, Bob!
greet(name="Charlie", greeting="Hey") # 关键字参数,顺序可以改变
可变参数 *args 和 **kwargs
def sum_all(*args):
"""*args 把任意数量的位置参数收集为元组"""
return sum(args)
def print_info(**kwargs):
"""**kwargs 把任意数量的关键字参数收集为字典"""
for key, value in kwargs.items():
print(f"{key}: {value}")
print(sum_all(1, 2, 3, 4, 5)) # 15
print_info(name="Alice", age=25)
# name: Alice
# age: 25
返回值
def add(a, b):
"""返回单个值"""
return a + b
def min_max(numbers):
"""返回多个值(实际是一个元组,可解包接收)"""
return min(numbers), max(numbers)
print(add(5, 3)) # 8
low, high = min_max([3, 1, 4, 1, 5]) # low=1, high=5
Lambda 函数(匿名函数)
函数是一等对象,可以作为参数传递(如 sorted 的 key):
square = lambda x: x ** 2
print(square(5)) # 25
students = [("Alice", 85), ("Bob", 92), ("Charlie", 78)]
print(sorted(students, key=lambda x: x[1])) # 按分数排序